package com.xiyu.service.vo.customer.contact.baseVO;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import jakarta.validation.constraints.*;
import org.hibernate.validator.constraints.*;

import static com.xiyu.service.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * 客户联系人 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class CustomerContactBase {

    @Schema(description = "姓名")
    @Size(max = 50, message = "姓名长度不能超过50")
    private String name;

    @Schema(description = "性别")
    @Range(max = 100000000, message = "最大不能超过100000000")
    private Long sex;

    @Schema(description = "地址")
    @Size(max = 255, message = "地址长度不能超过255")
    private String address;

    @Schema(description = "职位")
    @Size(max = 50, message = "职位长度不能超过50")
    private String position;

    @Schema(description = "决策角色")
    private Long decisionRole;

    @Schema(description = "工作状态")
    private Long workState;

    @Schema(description = "自定义字段1")
    @Size(max = 50, message = "自定义字段1长度不能超过50")
    private String customField1;

    @Schema(description = "自定义字段2")
    @Size(max = 50, message = "自定义字段2长度不能超过50")
    private String customField2;

    @Schema(description = "自定义字段3")
    @Size(max = 50, message = "自定义字段3长度不能超过50")
    private String customField3;

    @Schema(description = "自定义字段4")
    @Size(max = 50, message = "自定义字段4长度不能超过50")
    private String customField4;

    @Schema(description = "自定义字段5")
    @Size(max = 50, message = "自定义字段5长度不能超过50")
    private String customField5;

    @Schema(description = "自定义字段6")
    @Size(max = 50, message = "自定义字段6长度不能超过50")
    private String customField6;

    @Schema(description = "自定义字段7")
    @Size(max = 50, message = "自定义字段7长度不能超过50")
    private String customField7;

    @Schema(description = "自定义字段8")
    @Size(max = 50, message = "自定义字段8长度不能超过50")
    private String customField8;

    @Schema(description = "自定义字段9")
    @Size(max = 50, message = "自定义字段9长度不能超过50")
    private String customField9;

    @Schema(description = "自定义字段10")
    @Size(max = 50, message = "自定义字段10长度不能超过50")
    private String customField10;

    @Schema(description = "客户ID")
    private Long customerId;

    @Schema(description = "是否是主联系人")
    private Boolean isMain;

    @Schema(description = "昵称")
    @Size(max = 50, message = "昵称长度不能超过50")
    private String nickName;

}
